home *** CD-ROM | disk | FTP | other *** search
/ Freaks Macintosh Archive / Freaks Macintosh Archive.bin / Freaks Macintosh Archives / Hacking & Misc / TR Enet LAP 1.0 Folder.sit / TR Enet LAP 1.0 Folder / RawIP.h next >
C/C++ Source or Header  |  1994-07-23  |  1KB  |  63 lines

  1. #include <MacTCPCommonTypes.h>
  2. #include <MiscIPPB.h>
  3.  
  4.  
  5. typedef struct {
  6.     CntrlParam        iop;                /* MAC OS I/O Param block */
  7.     struct x {
  8.         unsigned long reserveda;
  9.         unsigned long reservedb;
  10.         struct rdsEntry reservedc;
  11.         Ptr reservedd;
  12.         unsigned long reservede;
  13.         } ra;
  14.     Ptr                reserved2;
  15.     Ptr                reserved3;
  16.     ProcPtr            reserved4[3];
  17.     long            userA5;
  18.     struct wdsEntry reserved5;
  19.     struct wdsEntry    ip;
  20.     struct wdsEntry    reserved6[6];
  21.     short            reserved7;
  22.     } RawWriteParam;
  23.  
  24. typedef    struct {
  25.     Ptr        IPdata;
  26.     short    length;
  27.     Ptr        user1;
  28.     Ptr        user2;
  29.     } RawFilterParam;
  30.     
  31.  
  32. // Should set only:
  33. //    iop.ioCompletion    = Completion routine
  34. //    ip.ptr                = pointer to IP packet
  35. //    ip.length            = length of IP packet
  36. //    userA5                = User's A5
  37.  
  38. // Can look at:
  39. //    iop.ioResult        = Error
  40.  
  41. //OSErr    RawIPWrite(RawWriteParam *params);
  42.  
  43. typedef OSErr    (*RawWriteProcPtr)(RawWriteParam *);
  44. typedef    Boolean    (*RawIPFilterProcPtr)(RawFilterParam *);
  45.  
  46. enum {
  47.     kHaveRIPFilter = 0x01,
  48.     kHaveRIPWrite = 0x02
  49.     };
  50.     
  51. typedef struct {
  52.     short        version;                // Version of interface
  53.     short        availFlags;                // What is available
  54.     RawWriteProcPtr        RawIPWrite;        // Raw IP Write routine address
  55.     RawIPFilterProcPtr    RawIPFilter;    // Raw IP Filter routine address
  56.     short        useFilter;                // Non-zero if filter routine is to be called
  57.     Ptr            user1;                    // Passed to Filter routine
  58.     Ptr            user2;                    // Passed to Filter routine
  59.     ProcPtr        reserved1;
  60.     long        reserved2[10];
  61.     } RawIPGestaltStruct;
  62.     
  63.